export type TreeNodeType = {
  key: string | number;
  parentKey: string | number;
  title: string;
  verticalLines: Array<boolean>;
  isLeaf: boolean;
  isLast: boolean;
  disableRemove?: boolean; // 禁止删除
  disableEdit?: boolean; // 禁止编辑
  disableAddChild?: boolean; // 禁止添加子节点 - 主动设置或者根据 maxDeepth 属性判断
  count?: number;
  disableCheck?: boolean; // 禁止选择复选框
  disableClick?: boolean; // 禁止点击
};

export type TreeDataType = Array<{
  key: string | number;
  title: string;
  count?: number;
  disableClick?: boolean;
  disableRemove?: boolean;
  disableAddChild?: boolean;
  disableEdit?: boolean;
  disableCheck?: boolean;
  children?: TreeDataType;
}>;

export type TreeRawDataType = Array<{
  key: string | number;
  title: string;
  children?: TreeRawDataType;
}>;

export type { SideTreeProps } from "./SideTree/type";
